package com.scrm.server.wx.cp.service;

import com.scrm.common.dto.BatchDTO;
import com.scrm.server.wx.cp.entity.BrGroupSopDetail;
import com.baomidou.mybatisplus.extension.service.IService;

import com.scrm.server.wx.cp.dto.BrGroupSopDetailPageDTO;
import com.scrm.server.wx.cp.dto.BrGroupSopDetailSaveDTO;
import com.scrm.server.wx.cp.dto.BrGroupSopDetailUpdateDTO;

import com.scrm.server.wx.cp.dto.BrGroupSopDetailQueryDTO;
import com.scrm.server.wx.cp.vo.BrGroupSopDetailVO;

import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;

/**
 * 群sop-规则执行详情表 服务类
 * @author ouyang
 * @since 2022-04-17
 */
public interface IBrGroupSopDetailService extends IService<BrGroupSopDetail> {


    /**
     * 分页查询
     * @author ouyang
     * @date 2022-04-17
     * @param dto 请求参数
     */
    IPage<BrGroupSopDetailVO> pageList(BrGroupSopDetailPageDTO dto);

    /**
     * 查询列表
     * @author ouyang
     * @date 2022-04-17
     * @param dto 请求参数
     */
    List<BrGroupSopDetailVO> queryList(BrGroupSopDetailQueryDTO dto);

    /**
     * 根据id查询
     * @author ouyang
     * @date 2022-04-17
     * @param id 主键
     */
    BrGroupSopDetailVO findById(String id);


    /**
     * 新增
     * @author ouyang
     * @date 2022-04-17
     * @param dto 请求参数
     * @return com.scrm.server.wx.cp.entity.BrGroupSopDetail
     */
    BrGroupSopDetail save(BrGroupSopDetailSaveDTO dto);

     /**
      * 修改
      * @author ouyang
      * @date 2022-04-17
      * @param dto 请求参数
      * @return com.scrm.server.wx.cp.entity.BrGroupSopDetail
      */
    BrGroupSopDetail update(BrGroupSopDetailUpdateDTO dto);


    /**
     * 删除
     * @author ouyang
     * @date 2022-04-17
     * @param id 群sop-规则执行详情表id
     */
    void delete(String id);

    /**
     * 批量删除
     * @author ouyang
     * @date 2022-04-17
     * @param dto 请求参数
     */
    void batchDelete(BatchDTO<String> dto);

    /**
     * 校验是否存在
     * @author ouyang
     * @date 2022-04-17
     * @param id 群sop-规则执行详情表id
     * @return com.scrm.server.wx.cp.entity.BrGroupSopDetail
     */
    BrGroupSopDetail checkExists(String id);

}
